/*
 * FileDictionary.h
 *
 *  Created on: Sep 13, 2011
 *      Author: srihari
 */

#ifndef FILEDICTIONARY_H_
#define FILEDICTIONARY_H_

#define BARREL_SIZE 500

#include "../include/includes.h"
#include "../include/CUtilities.h"
#include "../DocumentRepresentation/CDocument.h"
using namespace std;

class FileDictionary {
	std::vector<string> listOfFilePaths;
	std::map<size_t, string> fileDictionaryIndex;
	ofstream filePathStore;
	ofstream fileDictionaryIndexStore;
	size_t nextDocId;
	string dirPath;
	std::map<string, size_t> fileNameIdMap;
public:
	FileDictionary();
	virtual ~FileDictionary();

	bool writeFilePaths();

	size_t addFilePath(CDocument doc);
    std::map<string,size_t> getFileNameIdMap() const;
    void setFileNameIdMap(std::map<string,size_t> fileNameIdMap);
};

#endif /* FILEDICTIONARY_H_ */
